package com.example.sprintboot.service;

import com.example.sprintboot.entity.User;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

import java.util.List;

public interface UserService {
    // 查询所有用户
    List<User> selectAllUsers();

    // 添加用户
    boolean saveUser(User user);

    // 修改用户
    boolean updateUser(User user);

    // 删除用户
    boolean deleteUserById(Integer userId);

    // 根据用户ID查询用户
    User selectUserById(Integer userId);

    User register(User user);
    User login(String username, String password);

    // 根据用户名查询用户
    User findByUsername(String username);

    // 管理员端用户管理相关方法
    IPage<User> adminListUsers(int page, int pageSize, String role, Integer status, String keyword);
    void toggleUserStatus(Integer id);
    void resetUserPassword(Integer id);
    void deleteUserByAdmin(Integer id);
}